package cn.wyl.tran;

import org.apache.rocketmq.client.producer.*;
import org.apache.rocketmq.common.message.Message;
import org.apache.rocketmq.remoting.common.RemotingHelper;

/**
 * 生产者
 * 同步发送消息
 *
 * 步骤分析
 *
 * 1. 创建producer组
 * 2. 设置NameServer地址 ： 如果实在安装不上，可以使用这个地址：115.159.88.63:9876
 * 3. startr生产者
 * 4. 发送消息获取结果
 * 5. 结束producer
 */
public class Producer {

    public static void main(String[] args) throws Exception {

        //1.创建生产者组
        TransactionMQProducer producer = new TransactionMQProducer("consumer-hello4");

        //2.设置NameServer地址
        producer.setNamesrvAddr("127.0.0.1:9876");

        //设置生产者的事务监听器
        producer.setTransactionListener(new TranListener());

        //3.启动producer实例
        producer.start();

        //4.创建消息
        Message message = new Message("log-topic4", "info-tag4", "这是一个tran信息4".getBytes(RemotingHelper.DEFAULT_CHARSET));

        //5.发送消息,并接收结果
        SendResult sendResult = producer.sendMessageInTransaction(message,"我是参数");
        System.out.println(sendResult);
        //6.关闭producer实例
       // producer.shutdown();
    }
}
